home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / frefs11.lha / FetchRefs / Source / GenerateIndex / Outline.c < prev    next >
C/C++ Source or Header  |  1994-10-20  |  11KB  |  385 lines

  1. /**************************************************************************/
  2. /* Outline.c - the layout for triton.library and some stubs for reqtools  */
  3. /**************************************************************************/
  4.  
  5. #include "GenerateIndex.h"
  6.  
  7. static UBYTE ScrTitle[] = "GenerateIndex " VERSION " by Anders Melchiorsen";
  8.  
  9. struct TR_Dimensions EditDimensions, OptionsDimensions;
  10.  
  11. STRPTR FileTypeOptions[] = {
  12.     "Ignore",
  13.     "AutoDocs",
  14.     NULL
  15. };
  16.  
  17. #define CheckBoxText(txt, id) VertGroup, HorizGroupSC, Space, CheckBox((id)), SpaceS, TextN((txt)), TRAT_ID, (id), Space, EndGroup, EndGroup
  18.  
  19. /// MainOutline
  20. ProjectDefinition(MainOutline)
  21. {
  22.     WindowID(WINDOW_MAIN_ID),
  23.         WindowTitle("GenerateIndex"), 
  24.         ScreenTitle(ScrTitle),
  25.         WindowBackfillWin,
  26.         WindowPosition(TRWP_CENTERDISPLAY),
  27.  
  28.     BeginMenu("Project"),
  29.         MenuItem("Clear", MAIN_MENU_PROJECT_CLEAR),
  30.         ItemBarlabel,
  31.         MenuItem("L_Load data...", MAIN_MENU_PROJECT_LOAD),
  32.         MenuItem("S_Save data...", MAIN_MENU_PROJECT_SAVE),
  33.         ItemBarlabel,
  34.         MenuItem("O_Options...", MAIN_MENU_PROJECT_OPTIONS),
  35.         ItemBarlabel,
  36.         MenuItem("?_About...", MAIN_MENU_PROJECT_ABOUT),
  37.         ItemBarlabel,
  38.         MenuItem("Q_Quit", MAIN_MENU_PROJECT_QUIT),
  39.  
  40.     VertGroupA,
  41.  
  42.         Space,
  43.  
  44.         HorizGroupA,
  45.             Space,
  46.  
  47.             GroupBox, ObjectBackfillB,
  48.             VertGroupA,
  49.  
  50.                 Space,
  51.                 HorizGroupA,
  52.                     Space,
  53.                     ListSS(&FileList, MAIN_LIST_ID, 0, 0),
  54.                         TRAT_MinWidth,  30,
  55.                         TRAT_MinHeight, 10,
  56.                     Space,
  57.                 EndGroup,
  58.  
  59.                 SpaceS,
  60.  
  61.                 HorizGroupAC,
  62.                     Space,
  63.                     TextN("References"),
  64.                     SpaceS,
  65.                     IntegerBox(0, MAIN_REFERENCES_ID, 3),
  66.                     Space,
  67.                 EndGroup,
  68.  
  69.                 Space,
  70.  
  71.             EndGroup,
  72.             Space,
  73.         EndGroup,
  74.         Space,
  75.  
  76.         HorizGroupE,
  77.             Space,
  78.             Button("_Add...", MAIN_ADD_ID),
  79.             ButtonR("_Edit...", MAIN_EDIT_ID),
  80.             Button("_Rescan", MAIN_RESCAN_ID),
  81.             Button("_Delete", MAIN_DELETE_ID),
  82.             Space,
  83.         EndGroup,
  84.  
  85.         Space,
  86.  
  87.     EndGroup,
  88. EndProject
  89. };
  90. ///
  91.  
  92. /// EditOutline
  93. ProjectDefinition(EditOutline)
  94. {
  95.     WindowID(WINDOW_EDIT_ID),
  96.         WindowTitle("Edit references"),
  97.         ScreenTitle(ScrTitle),
  98.         WindowBackfillWin,
  99.         WindowPosition(TRWP_CENTERDISPLAY),
  100.         WindowFlags(TRWF_NOCLOSEGADGET),
  101.         WindowDimensions(&EditDimensions),
  102.  
  103.     VertGroupA,
  104.  
  105.         Space,
  106.  
  107.         HorizGroupA,
  108.             Space,
  109.  
  110.             GroupBox, ObjectBackfillB,
  111.             VertGroupA,
  112.  
  113.                 Space,
  114.  
  115.                 HorizGroupA,
  116.                     Space,
  117.                     ListSS(NULL, EDIT_LIST_ID, 0, 0),
  118.                         TRAT_MinWidth,  30,
  119.                         TRAT_MinHeight, 10,
  120.                     Space,
  121.                 EndGroup,
  122.  
  123.                 SpaceS,
  124.  
  125.                 HorizGroupA,
  126.                     LineArray,
  127.  
  128. #ifdef HAD_TRITON_JUST_WORKED
  129.                         Space,
  130.                         BeginLine,
  131.                             Space,
  132.                             TextNR("Name"),
  133.                             SpaceS,
  134.                             
  135.                             /* Text gadget */
  136.                             _TextBox, ObjectBackfillB, 
  137.                             VertGroup,
  138.                                 SpaceS, 
  139.                                 HorizGroupSC,
  140.                                     Space,
  141.                                     TextN(""),
  142.                                         TRAT_ID, EDIT_NAME_ID,
  143.                                         TRAT_Flags, TRTX_NOUNDERSCORE,
  144.                                     Space,
  145.                                 EndGroup,
  146.                                 SpaceS,
  147.                             EndGroup,
  148.  
  149.                             Space,
  150.                         EndLine,
  151.  
  152.                         Space,
  153.                         BeginLine,
  154.                             Space,
  155.                             TextNR("File"),
  156.                             SpaceS,
  157.                             
  158.                             /* Text gadget */
  159.                             _TextBox, ObjectBackfillB,
  160.                             VertGroup,
  161.                                 SpaceS, 
  162.                                 HorizGroupSC,
  163.                                     Space,
  164.                                     TextN(""),
  165.                                         TRAT_ID, EDIT_FILE_ID,
  166.                                         TRAT_Flags, TRTX_NOUNDERSCORE,
  167.                                     Space,
  168.                                 EndGroup,
  169.                                 SpaceS,
  170.                             EndGroup,
  171.                             
  172.                             Space,
  173.                         EndLine,
  174. #endif I_WISH_TRITON_WORKED
  175.  
  176.                         Space,
  177.                         BeginLine,
  178.                             Space,
  179.                             TextNR("Offset"),
  180.                             SpaceS,
  181.  
  182.                             HorizGroupAC,
  183.                                 IntegerBox(0, EDIT_OFFSET_ID, 6),
  184.                                 Space,
  185.                                 TextNR("Length"),
  186.                                 SpaceS,
  187.                                 IntegerBox(0, EDIT_LENGTH_ID, 6),
  188.                                 Space,
  189.                             EndGroup,
  190.                         EndLine,
  191.  
  192.                         Space,
  193.                         BeginLine,
  194.                             Space,
  195.                             TextNR("Line"),
  196.                             SpaceS,
  197.                             IntegerBox(NULL, EDIT_GOTO_ID, 4),
  198.                             Space,
  199.                         EndLine,
  200.                         Space,
  201.                     EndArray,
  202.                 EndGroup,
  203.             EndGroup,
  204.  
  205.             Space,
  206.         EndGroup,
  207.  
  208.         Space,
  209.  
  210.         HorizGroupE,
  211.             Space,
  212.             ButtonR("Okay", EDIT_OKAY_ID),
  213.             Space,
  214.             Button("_Delete", EDIT_DELETE_ID),
  215.             Space,
  216.         EndGroup,
  217.  
  218.         Space,
  219.  
  220.     EndGroup,
  221.  
  222. EndProject
  223. };
  224. ///
  225.  
  226. /// OptionsOutline
  227. ProjectDefinition(OptionsOutline)
  228. {
  229.     WindowID(WINDOW_OPTIONS_ID),
  230.         WindowTitle("Select options"),
  231.         ScreenTitle(ScrTitle),
  232.         WindowBackfillWin,
  233.         WindowPosition(TRWP_CENTERDISPLAY),
  234.         WindowDimensions(&OptionsDimensions),
  235.  
  236.     BeginMenu("Settings"),
  237.         MenuItem("O_Open...", OPTIONS_MENU_PROJECT_OPEN_ID),
  238.         MenuItem("Save as...", OPTIONS_MENU_PROJECT_SAVEAS_ID),
  239.  
  240.     HorizGroupE,
  241.         Space,
  242.  
  243.         VertGroupA,
  244.             Space,
  245.  
  246.             GroupBox, ObjectBackfillB,
  247.             LineArray,
  248.                 Space,
  249.                 BeginLine,
  250.                     Space,
  251.                     CheckBoxText("Autodocs", OPTIONS_AUTODOC_ID),
  252.                     Space,
  253.                     CheckBoxText("C includes", OPTIONS_C_ID),
  254.                     Space,
  255.                     CheckBoxText("E includes", OPTIONS_E_ID),
  256.                     Space,
  257.                     CheckBoxText("Asm includes", OPTIONS_ASM_ID),
  258.                     Space,
  259.                 EndLine,
  260.  
  261.                 Space,
  262.                 BeginLineI,
  263.                     HorizSeparator,
  264.                 EndLine,
  265.  
  266.                 Space,
  267.                 BeginLine,
  268.                     Space,
  269.                     HorizGroupS,
  270.                         TextN(""),
  271.                     EndGroup,
  272.                     Space,
  273.                     CheckBoxText("#define", OPTIONS_C_DEFINE_ID),
  274.                     Space,
  275.                     CheckBoxText("CONST", OPTIONS_E_CONST_ID),
  276.                     Space,
  277.                     CheckBoxText("EQU/BITDEF", OPTIONS_ASM_EQU_ID),
  278.                     Space,
  279.                 EndLine,
  280.  
  281.                 Space,
  282.                 BeginLine,
  283.                     Space,
  284.                     HorizGroupS,
  285.                         TextN(""),
  286.                     EndGroup,
  287.                     Space,
  288.                     CheckBoxText("struct/union", OPTIONS_C_STRUCT_ID),
  289.                     Space,
  290.                     CheckBoxText("OBJECT", OPTIONS_E_OBJECT_ID),
  291.                     Space,
  292.                     CheckBoxText("STRUCTURE", OPTIONS_ASM_STRUCTURE_ID),
  293.                     Space,
  294.                 EndLine,
  295.  
  296.                 Space,
  297.                 BeginLine,
  298.                     Space,
  299.                     HorizGroupS,
  300.                         TextN(""),
  301.                     EndGroup,
  302.                     Space,
  303.                     CheckBoxText("typedef", OPTIONS_C_TYPEDEF_ID),
  304.                     Space,
  305.                     CheckBoxText("PROC", OPTIONS_E_PROC_ID),
  306.                     Space,
  307.                     CheckBoxText("MACRO", OPTIONS_ASM_MACRO_ID),
  308.                     Space,
  309.                 EndLine,
  310.  
  311.                 Space,
  312.             EndArray,
  313.             Space,
  314.  
  315.             GroupBox, ObjectBackfillB,
  316.             HorizGroup,
  317.                 Space,
  318.                 VertGroup,
  319.                     Space,
  320.                     CheckBoxText("Scan drawers recursively", OPTIONS_RECURSIVELY_ID),
  321.                     Space,
  322.                     CheckBoxText("Keep files without references", OPTIONS_KEEPEMPTY_ID),
  323.                     Space,
  324.                 EndGroup,
  325.                 Space,
  326.                 VertGroup,
  327.                     Space,
  328.                     HorizGroupC,
  329.                         TextID("Unrecognized files", OPTIONS_UNKNOWNFILES_ID),
  330.                         Space,
  331.                         CycleGadget(FileTypeOptions, 0, OPTIONS_UNKNOWNFILES_ID),
  332.                     EndGroup,
  333.                     Space,
  334.                 EndGroup,
  335.                 Space,
  336.             EndGroup,
  337.             Space,
  338.  
  339.             HorizGroupE,
  340.                 Button("_Save", OPTIONS_SAVE_ID),
  341.                 Space,
  342.                 Button("_Use", OPTIONS_USE_ID),
  343.                 Space,
  344.                 Button("_Cancel", OPTIONS_CANCEL_ID),
  345.             EndGroup,
  346.             Space,
  347.  
  348.         EndGroup,
  349.         Space,
  350.  
  351.     EndGroup,
  352.  
  353. EndProject
  354. };
  355. ///
  356.  
  357. /// ReqTools stubs for varargs functions
  358. LONG
  359. rtChangeReqAttr(APTR req, ULONG Tag, ...)
  360. {
  361.     va_list args;
  362.  
  363.     va_start(args, req);
  364.     return rtChangeReqAttrA(req, args);
  365. }
  366.  
  367. ULONG
  368. rtEZRequestTags(char *bodyfmt, char *gadfmt, struct rtReqInfo *reqinfo, APTR argarray, ULONG Tag, ...)
  369. {
  370.     va_list args;
  371.  
  372.     va_start(args, argarray);
  373.     return rtEZRequestA(bodyfmt, gadfmt, reqinfo, argarray, args);
  374. }
  375.  
  376. APTR
  377. rtFileRequest(struct rtFileRequester *filereq, char *filename, char *title, ULONG Tag, ...)
  378. {
  379.     va_list args;
  380.  
  381.     va_start(args, title);
  382.     return rtFileRequestA(filereq, filename, title, args);
  383. }
  384. ///
  385.